/**********************************************************************/
/*   ____  ____                                                       */
/*  /   /\/   /                                                       */
/* /___/  \  /                                                        */
/* \   \   \/                                                         */
/*  \   \        Copyright (c) 2003-2007 Xilinx, Inc.                 */
/*  /   /        All Right Reserved.                                  */
/* /---/   /\                                                         */
/* \   \  /  \                                                        */
/*  \___\/\___\                                                       */
/**********************************************************************/

/* This file is designed for use with ISim build 0x19e5aa38 */

#include "xsi.h"
#include <memory.h>
#ifdef __GNUC__
#include <stdlib.h>
#else
#include <malloc.h>
#define alloca _alloca
#endif
static const char *ng0 = "/usa/cates/cpeg422/proj1/list_ch07_05_uart_test.vhd";
extern char *IEEE_P_1242562249;
extern char *IEEE_P_2592010699;

char *ieee_p_1242562249_sub_1006216973935652998_1242562249(char *, char *, char *, char *, int );
unsigned char ieee_p_2592010699_sub_374109322130769762_2592010699(char *, unsigned char );


static void work_a_2733303611_1446275585_p_0(char *t0)
{
    char t1[16];
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    char *t10;

LAB0:    xsi_set_current_line(33, ng0);

LAB3:    t2 = (t0 + 2632U);
    t3 = *((char **)t2);
    t2 = (t0 + 7112U);
    t4 = ieee_p_1242562249_sub_1006216973935652998_1242562249(IEEE_P_1242562249, t1, t3, t2, 1);
    t5 = (t0 + 5280);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    memcpy(t9, t4, 8U);
    xsi_driver_first_trans_fast(t5);

LAB2:    t10 = (t0 + 5168);
    *((int *)t10) = 1;

LAB1:    return;
LAB4:    goto LAB2;

}

static void work_a_2733303611_1446275585_p_1(char *t0)
{
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;

LAB0:    xsi_set_current_line(35, ng0);

LAB3:    t1 = (t0 + 2632U);
    t2 = *((char **)t1);
    t1 = (t0 + 5344);
    t3 = (t1 + 56U);
    t4 = *((char **)t3);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    memcpy(t6, t2, 8U);
    xsi_driver_first_trans_fast_port(t1);

LAB2:    t7 = (t0 + 5184);
    *((int *)t7) = 1;

LAB1:    return;
LAB4:    goto LAB2;

}

static void work_a_2733303611_1446275585_p_2(char *t0)
{
    char *t1;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;

LAB0:    xsi_set_current_line(36, ng0);

LAB3:    t1 = (t0 + 7161);
    t3 = (t0 + 5408);
    t4 = (t3 + 56U);
    t5 = *((char **)t4);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    memcpy(t7, t1, 4U);
    xsi_driver_first_trans_fast_port(t3);

LAB2:
LAB1:    return;
LAB4:    goto LAB2;

}

static void work_a_2733303611_1446275585_p_3(char *t0)
{
    char t5[16];
    char t10[16];
    char t12[16];
    char t20[16];
    char t25[16];
    char t27[16];
    char *t1;
    char *t2;
    unsigned char t3;
    unsigned char t4;
    char *t6;
    char *t7;
    char *t9;
    char *t11;
    char *t13;
    char *t14;
    int t15;
    unsigned int t16;
    char *t17;
    unsigned char t18;
    unsigned char t19;
    char *t21;
    char *t22;
    char *t24;
    char *t26;
    char *t28;
    char *t29;
    int t30;
    char *t31;
    char *t32;
    char *t33;
    char *t34;
    char *t35;

LAB0:    xsi_set_current_line(37, ng0);

LAB3:    t1 = (t0 + 2312U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t4 = ieee_p_2592010699_sub_374109322130769762_2592010699(IEEE_P_2592010699, t3);
    t6 = ((IEEE_P_2592010699) + 4000);
    t1 = xsi_base_array_concat(t1, t5, t6, (char)99, (unsigned char)3, (char)99, t4, (char)101);
    t7 = (t0 + 7165);
    t11 = ((IEEE_P_2592010699) + 4000);
    t13 = (t12 + 0U);
    t14 = (t13 + 0U);
    *((int *)t14) = 0;
    t14 = (t13 + 4U);
    *((int *)t14) = 1;
    t14 = (t13 + 8U);
    *((int *)t14) = 1;
    t15 = (1 - 0);
    t16 = (t15 * 1);
    t16 = (t16 + 1);
    t14 = (t13 + 12U);
    *((unsigned int *)t14) = t16;
    t9 = xsi_base_array_concat(t9, t10, t11, (char)97, t1, t5, (char)97, t7, t12, (char)101);
    t14 = (t0 + 2472U);
    t17 = *((char **)t14);
    t18 = *((unsigned char *)t17);
    t19 = ieee_p_2592010699_sub_374109322130769762_2592010699(IEEE_P_2592010699, t18);
    t21 = ((IEEE_P_2592010699) + 4000);
    t14 = xsi_base_array_concat(t14, t20, t21, (char)97, t9, t10, (char)99, t19, (char)101);
    t22 = (t0 + 7167);
    t26 = ((IEEE_P_2592010699) + 4000);
    t28 = (t27 + 0U);
    t29 = (t28 + 0U);
    *((int *)t29) = 0;
    t29 = (t28 + 4U);
    *((int *)t29) = 2;
    t29 = (t28 + 8U);
    *((int *)t29) = 1;
    t30 = (2 - 0);
    t16 = (t30 * 1);
    t16 = (t16 + 1);
    t29 = (t28 + 12U);
    *((unsigned int *)t29) = t16;
    t24 = xsi_base_array_concat(t24, t25, t26, (char)97, t14, t20, (char)97, t22, t27, (char)101);
    t29 = (t0 + 5472);
    t31 = (t29 + 56U);
    t32 = *((char **)t31);
    t33 = (t32 + 56U);
    t34 = *((char **)t33);
    memcpy(t34, t24, 8U);
    xsi_driver_first_trans_fast_port(t29);

LAB2:    t35 = (t0 + 5200);
    *((int *)t35) = 1;

LAB1:    return;
LAB4:    goto LAB2;

}


extern void work_a_2733303611_1446275585_init()
{
	static char *pe[] = {(void *)work_a_2733303611_1446275585_p_0,(void *)work_a_2733303611_1446275585_p_1,(void *)work_a_2733303611_1446275585_p_2,(void *)work_a_2733303611_1446275585_p_3};
	xsi_register_didat("work_a_2733303611_1446275585", "isim/uart_test_isim_beh.exe.sim/work/a_2733303611_1446275585.didat");
	xsi_register_executes(pe);
}
